<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <!-- 基于如上HTML，实现需求
按照HTML中按钮的描述以此实现功能
计算结果显示在 id 为 result 的 P 标签中
除了第一个按钮，其它按钮操作时，都需要判断输入是否为数字，否则在 console 中输出错误信息 -->
    <div>
        <label>Number A:<input id="radio-a" type="radio" name="math-obj" value="a"></label><input id="num-a" type="text">
        <label>Number B:<input id="radio-b" type="radio" name="math-obj" value="b"></label><input id="num-b" type="text">
    </div>

    <div>
        <button>判断当前选中的输入框输入内容是否为数字</button>
        <button>把 A 四舍五入为 B 个小数位数的数字</button>
        <button>当前选中数字的绝对值</button>
        <button>对当前选中的数字进行上舍入</button>
        <button>对当前选中的数字进行下舍入</button>
        <button>把当前选中的数字四舍五入为最接近的整数</button>
        <button>返回 A 和 B 中的最高值</button>
        <button>返回 A 和 B 中的最低值</button>
    </div>
    <p id="result"></p>
    <script>
        var num_a = document.getElementById('num-a');
        var num_b = document.getElementById('num-b');
        var result = document.getElementById('result');
        var buttons = document.getElementsByTagName('button');
        var radioA = document.getElementById('radio-a');
        var radioB = document.getElementById('radio-b');

        //按键1的功能，判断当前选中的输入框输入内容是否为数字
        buttons[0].addEventListener('click', function() {

            if (radioA.checked) {
                num_b.value = '';
                if (num_a.value == '') {
                    alert('numberA内容不能为空');
                } else if (isNaN(num_a.value)) {
                    result.innerHTML = 'numberA内容不是数字';
                } else {
                    result.innerHTML = 'numberA内容是数字';
                }

            }
            if (radioB.checked) {
                num_a.value = '';
                if (num_b.value == '') {
                    alert('numberB内容不能为空');
                } else if (isNaN(num_b.value)) {
                    result.innerHTML = 'numberB内容不是数字';
                } else {
                    result.innerHTML = 'numberB内容是数字';
                }

            }

        })


        //按键2的功能，把A四舍五入为B个小数位数的数字

        buttons[1].addEventListener('click', function() {
            if (num_a.value == '') {
                alert('numberA内容不能为空');

            } else if (isNaN(num_a.value)) {
                console.log('numberA内容不是数字');
            } else {
                var A = parseFloat(num_a.value);
                console.log(A);
            }

            if (num_b.value == '') {
                alert('numberB内容不能为空');

            } else if (isNaN(num_b.value)) {
                console.log('numberB内容不是数字');
            } else {
                result.innerHTML = A.toFixed(parseInt(num_b.value));
            }

        })

        //按键3的功能，当前选中数字的绝对值

        buttons[2].addEventListener('click', function() {
            if (radioA.checked) {
                if (num_a.value == '') {
                    console.log('numberA内容不能为空');

                } else if (isNaN(num_a.value)) {
                    console.log('numberA内容不是数字');
                } else {
                    result.innerHTML = Math.abs(Number(num_a.value));
                }

            }

            if (radioB.checked) {
                if (num_b.value == '') {
                    console.log('numberB内容不能为空');
                } else if (isNaN(num_b.value)) {
                    console.log('numberB内容不是数字');
                } else {
                    result.innerHTML = Math.abs(Number(num_b.value));
                }

            }

        })

        //按键4的功能，对当前选中的数字进行上舍入

        buttons[3].addEventListener('click', function() {
            if (radioA.checked) {
                if (num_a.value == '') {
                    console.log('numberA内容不能为空');

                } else if (isNaN(num_a.value)) {
                    console.log('numberA内容不是数字');
                } else {
                    result.innerHTML = Math.ceil(Number(num_a.value));
                }

            }

            if (radioB.checked) {
                if (num_b.value == '') {
                    console.log('numberB内容不能为空');

                } else if (isNaN(num_b.value)) {
                    console.log('numberB内容不是数字');
                } else {
                    result.innerHTML = Math.ceil(Number(num_b.value));
                }

            }

        })
        //按键5的功能，对当前选中的数字进行下舍入

        buttons[4].addEventListener('click', function() {
            if (radioA.checked) {
                if (num_a.value == '') {
                    console.log('numberA内容不能为空');

                } else if (isNaN(num_a.value)) {
                    console.log('numberA内容不是数字');
                } else {
                    result.innerHTML = Math.floor(Number(num_a.value));
                }

            }

            if (radioB.checked) {
                if (num_b.value == '') {
                    console.log('numberB内容不能为空');

                } else if (isNaN(num_b.value)) {
                    console.log('numberB内容不是数字');
                } else {
                    result.innerHTML = Math.floor(Number(num_b.value));
                }

            }

        })
        //按键6的功能，把当前选中的数字四舍五入为最接近的整数

        buttons[5].addEventListener('click', function() {
            if (radioA.checked) {
                if (num_a.value == '') {
                    console.log('numberA内容不能为空');

                } else if (isNaN(num_a.value)) {
                    console.log('numberA内容不是数字');
                } else {
                    result.innerHTML = Math.round(Number(num_a.value));
                }

            }

            if (radioB.checked) {
                if (num_b.value == '') {
                    console.log('numberB内容不能为空');

                } else if (isNaN(num_b.value)) {
                    console.log('numberB内容不是数字');
                } else {
                    result.innerHTML = Math.round(Number(num_b.value));
                }

            }

        })

        //按键7的功能，返回A和B中的最高值

        buttons[6].addEventListener('click', function() {
            if (num_a.value == '') {
                alert('numberA内容不能为空');

            } else if (isNaN(num_a.value)) {
                console.log('numberA内容不是数字');
            }

            if (num_b.value == '') {
                alert('numberB内容不能为空');

            } else if (isNaN(num_b.value)) {
                console.log('numberB内容不是数字');
            } else {
                result.innerHTML = Math.max(Number(num_a.value), Number(num_b.value));
            }

        })

        //按键8的功能，返回A和B中的最小值 

        buttons[7].addEventListener('click', function() {
            if (num_a.value == '') {
                alert('numberA内容不能为空');

            } else if (isNaN(num_a.value)) {
                console.log('numberA内容不是数字');
            }

            if (num_b.value == '') {
                alert('numberB内容不能为空');

            } else if (isNaN(num_b.value)) {
                console.log('numberB内容不是数字');
            } else {
                result.innerHTML = Math.min(Number(num_a.value), Number(num_b.value));
            }
        })
    </script>
</body>

</html>